using UnityEngine;

public class ObjectSpawner : MonoBehaviour
{
    public GameObject objectPrefab; // 要生成的对象的预制体
    public Transform spawnArea; // 一个游戏对象，表示生成对象的区域

    void Update()
    {
        if (Input.GetMouseButtonDown(0)) // 检测鼠标左键点击
        {
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;

            if (Physics.Raycast(ray, out hit)) // 如果射线与任何物体相交
            {
                if (hit.transform == spawnArea) // 如果点击的区域是我们的生成区域
                {
                    SpawnObject(hit.point); // 在点击位置生成对象
                }
            }
        }
    }

    void SpawnObject(Vector3 position)
    {
        if (objectPrefab != null)
        {
            Instantiate(objectPrefab, position, Quaternion.identity); // 实例化预制体
        }
    }
}

